In a data center in which a cloud is implemented, operation of resources is performed by virtualizing physical servers and then activating and operating plural virtual machines (VM) on physical machines.
Requests to deploy virtual machines, remove virtual machines or change the configuration of virtual machines are occasionally outputted from users to this kind of data center, and the timing of such requests and the contents of the change of the configuration cannot be predicted in advance by an administrator of the data center. The main role of the data center is to fulfill user requirements, while at the same time, improve utilization efficiency of the infrastructure used to fulfill the user requirements, and reduce offering costs such as power costs and software license fees.
The operating requirements of the data center and the operating requirements of VMs include various operating requirements such as energy-saving operation and improvement operation of fault tolerance (improvement of availability), and these operating requirements change over time to correspond to the business environment.
In a conventional technique, the operating requirements of the data center are fixedly set before development completion of the operation management system, or before starting the system operation, and dedicated programs are prepared in advance for the plural operating requirements. When a user sends a request to deploy a VM or add a VM, the VM relating to that request is additionally activated on a physical server based on the processing result of those programs.
However, due to environmental or societal demands, the priority of individual operating requirements may change, new operating requirements may be added or some existing operating requirements may be eliminated, so it may not be possible for the dedicated programs to correspond to a specific operating requirement. Therefore, a new program, which is dedicated for plural operating requirements that are changed entirely each time when changing the operating requirements, would be prepared. As the number of operating requirements increases, it becomes more difficult to find judgment conditions for those requirements, and the program itself becomes more complex. Therefore, changing the operating policy in accordance to environmental changes is not easy.
There exists a distributed computing control apparatus that is capable of improving the computational processing performance in an environment in which the system virtualization technique is used. More specifically, the distributed computing control apparatus that distributes plural second computation processes included in a first computation process among plural virtual machines that operate on one or plural physical machines has: an allocation pattern detection unit that detects various allocation patterns for distributing the plural second computation processes among the plural virtual machines, a cost computation unit that computes the cost for each allocation pattern; and an allocation unit that selects an allocation pattern that has the lowest cost based on computation results of the cost computation unit, and distributes the plural second computation processes among the plural virtual machines according to the selected allocation pattern. This technique is a technique for distributing processes among virtual machines, and changing a method for computing the cost according to the first computation process or the requesting source of that process is not disclosed.    Patent Document 1: Japanese Laid-open Patent Publication No. 2010-218307